
<script>
import isEmpty from "lodash/isEmpty";
import * as loginApi from "@/common/apis/login-api.js";
import {
	getTokenInfo
} from './common/apis/home-api.js';


export default {
  globalData: {
    content: "",
    vehicleData: {},
    tempDeptId: "",
    tempCustomerId: "",
    deptchose: false,
    //记录操作开始时间
    taskStartTime: 0,
    objType: "", //目标类型：1-秒杀 2-集客 3-同行 4-抽奖 8-方案
    objId: "", //目标主键
    taskObjId: "", //任务id
    personnelType: "", //1员工2渠道
    personnelId: "", //人员主键
	
  },
  onLaunch: function () {
	const systemInfo = uni.getSystemInfoSync();
	if(systemInfo?.model?.includes('iPhone')){
		uni.setStorageSync('modelType','iphone')
	}else{
		uni.setStorageSync('modelType','android')
	}
    // #ifndef H5
    this.$store.dispatch("user/wxLogin"); //获取openid
    this.checkUpdate();
    // #endif

    // #ifdef H5
    // 获取hash后的参数
    const hash = location.hash;
    const searchStr = hash.split('?')[1] || '';
    const urlParams = new URLSearchParams(searchStr);
    const page = urlParams.get('page');
	const cityCode = urlParams.get('cityCode')
	let accessToken = urlParams.get('token')
	// let accessToken = searchStr.split('=').pop()
	if(cityCode){
		uni.setStorageSync('cityCode', cityCode);
	}else{
		uni.setStorageSync('cityCode', '110000');
		uni.setStorageSync('cityName', '北京');
	}
	if(accessToken){
		getTokenInfo({accessToken:accessToken}).then((res)=>{
			if(res){
				this.$store.commit('user/saveAccessToken', res.accessToken);
				uni.setStorageSync('accessToken', res.accessToken);
				this.$store.commit('user/saveUserInfo', res);	
			}	
		})
	}else{
	
	}
	// 根据参数跳转到对应页面
	switch (page) {
	    case 'select-car':
	        uni.redirectTo({
	            url: '/pages/car/car'
	        });
	        break;
	    case 'order-list':
	        uni.redirectTo({
	            url: '/pagesB/mine/car-orderlist/car-orderlist'
	        });
	        break;
	}
	
   
    // #endif
  },
  onShow: function () {
    let openId = uni.getStorageSync("openId");
    if (!uni.$u.test.isEmpty(openId)) {
      this.$store.commit("user/saveOpenid", openId);
    }

    let userInfo = uni.getStorageSync("userInfo");
    if (!uni.$u.test.isEmpty(userInfo)) {
      this.$store.commit("user/saveUserInfo", userInfo);
    }

    let deptId = uni.getStorageSync("deptId");
    if (!uni.$u.test.isEmpty(deptId)) {
      this.$store.commit("user/savedeptId", deptId);
    }

    if (!isEmpty(this.$store.state.user.openid)) {
      loginApi.visit({
        type: 1,
        openid: this.$store.state.user.openid,
      });
    }

  //   loginApi
  //     .getDeptChoseFlag()
  //     .then((res) => {
  //       let flag = 1 == res;
  //       getApp().globalData.deptchose = flag;
  //       this.$store.commit("user/saveDeptChoseFlag", flag);
  //       setTimeout(() => {
  //         uni.$emit("candeptchose", flag);
  //       }, 1000);
  //     })
  //     .catch((e) => {
  //       getApp().globalData.deptchose = false;
  //       this.$store.commit("user/saveDeptChoseFlag", false);

  //       setTimeout(() => {
  //         uni.$emit("candeptchose", false);
  //       }, 1000);
  //     });
  },
  onHide: function () {
    if (!isEmpty(this.$store.state.user.openid)) {
      loginApi.visit({
        type: 2,
        openid: this.$store.state.user.openid,
      });
    }
  },
  methods: {
    checkUpdate() {
      // 获取小程序更新机制兼容
      if (uni.canIUse("getUpdateManager")) {
        const updateManager = uni.getUpdateManager();
        // 检查是否有新版本发布
        updateManager.onCheckForUpdate(function (res) {
          if (res.hasUpdate) {
            //小程序有新版本，则静默下载新版本，做好更新准备
            updateManager.onUpdateReady(function () {
              uni.showModal({
                title: "更新提示",
                content: "新版本已经准备好，是否重启应用？",
                success: function (res) {
                  if (res.confirm) {
                    //新的版本已经下载好，调用 applyUpdate 应用新版本并重启
                    updateManager.applyUpdate();
                  } else if (res.cancel) {
                    //如果需要强制更新，则给出二次弹窗，如果不需要，则这里的代码都可以删掉了
                    uni.showModal({
                      title: "温馨提示",
                      content: "我们已经做了新的优化，请及时更新哦~",
                      showCancel: false, //隐藏取消按钮，也可显示，取消会走res.cancel，然后从新开始提示
                      success: function (res) {
                        //第二次提示后，强制更新
                        if (res.confirm) {
                          // 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
                          updateManager.applyUpdate();
                        } else if (res.cancel) {
                          //重新回到版本更新提示
                          autoUpdate();
                        }
                      },
                    });
                  }
                },
              });
            });
            // 新的版本下载失败
            updateManager.onUpdateFailed(function () {
              uni.showModal({
                title: "温馨提示",
                content: "新版本已经上线，请您删除当前小程序，重新搜索打开",
              });
            });
          }
        });
      } else {
        // 提示用户在最新版本的客户端上体验
        uni.showModal({
          title: "温馨提示",
          content:
            "当前微信版本过低，可能无法使用该功能，请升级到最新版本后重试。",
        });
      }
    },
  },
};
</script>

<style lang="scss">
@import "@/uni_modules/uview-ui/index.scss";
@import "@/common/globalClass.scss";
</style>
